Appendix 2. OpenBUGS code for estimating nest survival probabilities for North Island robins in a pine plantation and native forest fragments.

Model
{

	# Priors 
	a ~ dnorm(3, 2)					# intercept for logit(DSR), where DSR = daily survival probability 
	b.pine ~ dnorm(0, 1)				# effect of pine vs native on logit(DSR)
	b.gr ~  dnorm(0, 1)				# effect of grazing on logit(DSR)
	s.site ~ dunif(0,1)				# sd among sites 
	tau.site <- pow(s.site,-2)			# convert to precision
	s.fem ~ dunif(0,1)				# sd among females
	tau.fem <- pow(s.fem,-2)			# convert to precision
	s.year ~ dunif(0,1)				# sd among years
	tau.year <- pow(s.year,-2)			# convert to precision

	# Random effects 
	for (i in 1:n.year)	{		
		re.year[i] ~ dnorm(0,tau.year)		# assign random effect to each year
	}
	for (i in 1:n.site)	{		
		re.site[i] ~ dnorm(0,tau.site) 		# assign random effect to each site
	}
	for (i in 1:n.fem)	{		
		re.fem[i] ~ dnorm(0,tau.fem) 		# assign random effect to each female
	}

	# Sample nest success data 
	for (i in 1:n.nests)	{						# for each nest...
		p.succ[i] <- pow(p.day[i],last.alive[i]-first[i])		# calculate pr. surviving interval observed active
		succ[i] ~ dbern(p.succ[i])					# model success
		p.fail[i] <- 1-pow(p.day[i],last.check[i]-last.alive[i])	# calculate pr. failure over interval when failed
		fail[i] ~ dbern(p.fail[i])					# model failure
		logit(p.day[i]) <- fixed[i]+random[i] 				# calculate daily nest survival probability
		fixed[i] <- a+b.pine*pine[site[i]]+b.gr*gr[site[i]]
		random[i] <- re.year[year[i]]+re.site[site[i]]+re.fem[fem[i]]
	}

	# CALCULATING DERIVED PARAMETERS

	# Average nest survival rates for fenced, grazed, and pines (quoted in text)
	logit(p.day.site.fenced) <- a
	logit(p.day.site.grazed) <- a+b.gr
	logit(p.day.site.pine) <- a+b.pine
	p.40.site.fenced <- pow(p.day.site.fenced,40)
	p.40.site.grazed <- pow(p.day.site.grazed,40)
	p.40.site.pine <- pow(p.day.site.pine,40)

	for (i in 1:n.site)	{			# for each site calculate... 

		# Fragment-specific nest survival rates shown in Fig. 3
		logit(p.day.site[i]) <- a+b.pine*pine[i]+b.gr*gr[i]+re.site[i] 
		p.40.site[i] <- pow(p.day.site[i],40)
	}

}